<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const Cls = (() => {
            let id = 0; 
            // let that= Cls 
            return class Cls {
                
                constructor() {
                    if (new.target !==Cls) {
                        throw 'You connot call Cls without the keywords of new'
                    }
                     
                    this.id = ++id
                }
                abc(){

                }
            }
            // return function(){
            //     this.id=++id
            // }
        })()
        Cls.prototype.a={
            a:''
        }
        console.log(new  Cls())
        // let a={}
        
    </script>
</body>
</html>